home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
utils
/
tosfixes
/
hsmoda06.lzh
/
HSM_DOKU
/
SCC_X.TXT
< prev
next >
Wrap
Text File
|
1995-01-15
|
33KB
|
752 lines
SCC.PRG, ESCC.PRG, ST_ESCC.PRG
------------------------------
(Note for the English reading people: The English version is appended on
the German, look for it!)
!!! Wichtiges neues selbst übersetzt, Rest mit "<NEWBEGIN>" und "<NEWEND>"
geklammert. !!!
Dies sind Treiber für die mit einem SCC oder ESCC (z.B. Z8530, Am85C30,
Z85230) ausgestatteten seriellen Schnittstellen der Ataris und für die
Zusatzhardware ST_ESCC. Sie funktionieren zusammen mit DRVIN.PRG oder
einem gleichwertigen Ersatz. Einführende Bemerkungen finden sich in
1_README.TXT.
Allgemeines
-----------
Als "ESCC" betrachte _ich_ nur den Z85230 und den Am85C230A. Diese
besitzen nebem dem auf 8 Byte vergrößerten EmpfangsFIFO auch einen
mindestens 4 Byte großen SendeFIFO. Ein ESCC beinhaltet alle Funktionen
eines SCC.
Die Konfigurationsmöglichkeiten der einzelnen *SCC*.PRG unterscheiden sich
etwas.
Taktrate und Baudraten
----------------------
Ein SCC kann für die Baudratenerzeugung verschiedene Taktquellen
verwenden. Die meistbenutzte Taktquelle ist sein Systemtakt PCLK. Dieser
Takt PCLK beträgt bei einem normalen (so wie von Atari geliefert) MegaSTE,
TT und Falcon 8MHz (=8000000Hz). Das ist zwar eine schöne Zahl, die aber
zur Erzeugung der hohen Standardbaudraten wenig geeignet ist. Die hohen
Baudraten im MegaSTE/TT/Falcon werden aus anderen Taktquellen erzeugt.
Meine Hardware ST_ESCC wird immer mit 14745600Hz getaktet.
Man kann einen MegaSTE, TT oder Falcon mit einem Quarzoszillator und etwas
Draht auf PCLK=14745600Hz umbauen (Vorschlag von Franz Sirl). Wenn man nur
die 115200Bd und 57600Bd auf MODEM2 haben will, bietet sich ein
einfacherer Umbau nur mit Draht an<BEGINNEW>, siehe "MODEM2 des TT mit
57600 und 115200Bd".<ENDNEW>
Die Treiber unterscheiden automatisch zwischen den beiden PCLK-Taktraten
8MHz und 14745600Hz und zeigen die ermittelte Rate in ihrer
Installationsmeldung an.
Bei einem PCLK von 8MHz sind folgende Rsconf-Baudraten möglich:
(neue - alte)
SERIAL2:
230400 - 200
115200 - 150
57600 - 134
38400 - 110
MODEM2:
38400 - 110
153600 - 75
76800 - 50
Bei MegaSTE und Falcon (nicht beim TT) sind zusätzlich auf MODEM2:
230400 - 200
115200 - 150
57600 - 134
Bei PCLK = 14745600Hz sind bei MODEM2 und SERIAL2 möglich:
neue Rate alte Rate
230400 200
115200 150
57600 134
38400 110
153600 75
76800 50
Wenn man die GEMDOS-Fcntl TIOC?BAUD benutzt, hat man ohnehin kein Problem,
dort erfährt man, welche Baudraten möglich sind im Klartext als
"Bit pro Sekunde".
ST_ESCC enthält immer einen ESCC. MegaSTE/TT/Falcon enthalten nur einen
ESCC, wenn den jemand extra gewechselt hat. Der Treiber für den SCC läuft
auch mit dem ESCC-Schaltkreis, umgekehrt nicht.
SCC und ESCC
------------
Zur Erinnerung nochmal: Als "ESCC" betrachte _ich_ nur den Z85230 und den
Am85C230A. Bei ST_ESCC wird immer ein ESCC eingesetzt. In
MegaSTE/TT/Falcon befindet sich im Originalzustand nur ein SCC. Zur
Entlastung der CPU und zur Verbesserung der Datensicherheit (geringere
Wahrscheinlichkeit von Zeichenverlusten beim Empfang) kann man einen ESCC
im PLCC-Gehäuse einsetzen. SCC und ESCC sind pinkompatibel genug.
SCC.PRG
-------
Der Treiber für MODEM2 und SERIAL2/LAN des MegaSTE und TT sowie für die
einzige durch Atari herausgeführte RS232-Schnittstelle des Falcon
(beschriftet mit MODEM), wegen ihrer Verwandschaften hier ebenfalls MODEM2
genannt.
Beim TT (und Falcon, falls man dem einen Beschleuniger mit FastRAM
spendiert hat) darf SCC.PRG _keinesfalls_ ins FastRAM, da es sonst mit zu
schnellen Zugriffen auf den SCC Probleme geben kann. Diese Probleme
könnten sich in Zeichenverlusten, unsinnigem Verhalten oder Bomben äußern.
Die Treiber müssen in physisch vorhandenes RAM geladen werden, dürfen also
_nicht_ im virtuellen Speicher liegen.
ESCC.PRG
--------
Siehe SCC.PRG. Dieser Treiber ist nur für die Nutzer, die sich einen
Z85230 oder Am85C230A eingebaut haben. Der SCC-Treiber funktioniert
ebenfalls mit dem ESCC, nutzt die ESCC-Vorteile aber nicht aus. Der
ESCC-Treiber ist für den SCC sehr ungeeignet!
ST_ESCC.PRG
-----------
Der Treiber nur für (ich komm mir langsam wie in einer Dauerwerbesendung
vor) die von mir entwickelte Hardware ST_ESCC, die zwei zusätzliche
schnelle serielle Schnittstellen in ST/STE/MegaST realisiert. 115200Bd
problemlos mit einem 8MHz/68000 unter TOS, das ist doch was.
Die Konfiguration
-----------------
Die Konfiguration erfolgt durch das SETTER.TTP. Zur Bedienung siehe
SETTER.TXT.
USE4C
Diese Frage erscheint nur bei ESCC.PRG und ST_ESCC.PRG. Soll ein
Empfangsinterrupt erst nach 4 empfangenen Zeichen erfolgen? Ich nenne
diesen Modus, der erst nach 4 Zeichen einen Interrupt auslöst, 4ZI. 4ZI
entlastet bei "RTS/CTS"- und "ohne"- Handshake die CPU wesentlich. Bei
"XON/XOFF"-Handshake ist er automatisch ausgeschaltet, der Aufwand an
Sonderbehandlungen hätte den Nutzen überstiegen. Neben den Vorteilen
verkürzt 4ZI aber die freie Länge des EmpfangsFIFOs von 8 auf 4 Zeichen.
Nach einer Interruptmeldung des ESCC an die CPU können vor einer Reaktion
der CPU nur noch 4 statt 8 Zeichen verlustfrei empfangen werden.
Normalerweise schaltet man 4ZI an, antwortet also mit "Ja", da 4 freie
Zeichen ausreichen und der Gewinn an CPU-Zeit durch die auf 1/4
reduzierten Empfangsinterrupts wesentlich ist. Wenn man unsaubere
Programme hat, muß man 4ZI wahrscheinlich immer ausschalten, also hier mit
"Nein" antworten. Diese unsauberen Programme äußern sich durch
verschiedene Verzögerungen: im Terminalmode kommen erst dann Zeichen auf
den Bildschirm, wenn es 4 Zeichen sind. Unsaubere Übertragungsprotokolle
hängen einige Zeit (oder ewig) fest, besonders am Anfang oder Ende.
M2TT
Die Standardeinstellung "u" sollte keine Probleme bereiten, da der TT
anhand des _MCH-Cookies erkannt wird und dann auf MODEM2 keine 57600Bd und
115200Bd möglich sind. "0" legt fest, daß 57600/115200 bereitgestellt
werden, was auf TTs aber nur sinnvoll ist, wenn man den Draht-Umbau
gemacht hat. "1" legt fest, daß 57600/115200Bd nicht möglich sind. Bei
ST_ESCC.PRG wird diese Frage nicht gestellt. Wenn ein PCLK-Takt von
14745600Hz erkannt wurde, ist die Antwort auf diese Frage bedeutungslos.
M1EMU
Die Standardeinstellung ist "u". Dies dürfte durch die automatischen
Computertyperkennung anhand des _MCH-Cookies keine Probleme bereiten.
Diese Funktion wurde extra auf Wunsch der Falcon-Besitzer und der Nutzer
alter Programme eingebaut. Der reine Nutzer kann den Rest zu diesem
Konfigurationspunkt überspringen.
Wenn man M1EMU einschaltet, sollte man kein MFP*.PRG für MODEM1 laden, da
sich M1EMU damit beißt! Der am Computer vorhandene MODEM1-Anschluß wird
bei eingeschaltetem M1EMU unbrauchbar.
"u" aktiviert M1EMU nur auf dem Falcon. "0" verbietet M1EMU generell. "1"
schaltet M1EMU immer an.
M1EMU, der MODEM1-Emulator, ersetzt die BIOS-Routinen des Kanals 6
(MODEM1) durch die BIOS-Routinen des Kanals 7 (MODEM2). Außerdem wird das
aktuelle BIOS-Gerät (AUX) auf 7 eingestellt (für die etwas sauberere
Software).
Beim Falcon
... kann man so auch die Programme nutzen, die nur auf AUX (Kanal0) oder
Kanal6 arbeiten wollen. Da die RING-Leitung (von MODEM2) ohnehin dort
angeschlossen ist, wo beim ST die von MODEM1 lag, können solche Programme
auch RING direkt in der Hardware (MFP, Bit6) abfragen. Anstelle der
DCD-Leitung (Carrier Detect) von MODEM1 (wie beim ST) liegt auf Bit1 des
MFP leider der /ACK-Eingang vom Druckerport (Pin10), dämlicherweise ohne
Widerstand, so daß er bei ausgeschaltetem oder nicht angeschlossenen
Drucker wild schwingen kann. Bei eingeschaltetem Drucker dürfte er meist H
sein, was diese alten Programme als "NO CARRIER" interpretieren. Abhilfe:
Verbindung (von Pin10) zum Drucker auftrennen und Pin10 am Druckerport mit
Pin25 verbinden, signalisiert diesen alten Programmen immer "CARRIER".
Bei MegaSTE/TT und ST_ESCC
... kann man so auch alte Programme über MODEM2 laufen lassen, die die
Sta